/**
 * 剑指 Offer 19. 正则表达式匹配
 * https://leetcode-cn.com/problems/zheng-ze-biao-da-shi-pi-pei-lcof/
 */
public class Solutions_Offer_19 {
    public static void main(String[] args) {

//        String s = "aa", p = "a";  // output: false
//        解释: "a" 无法匹配 "aa" 整个字符串。

//        String s = "aa", p = "a*";  // output: true
//        解释:因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此，字符串 "aa" 可被视为 'a' 重复了一次。

//        String s = "ab", p = ".*";  // output: true
//        解释:".*" 表示可匹配零个或多个（'*'）任意字符（'.'）。

//        String s = "aab", p = "c*a*b";  // output: true
//        解释:因为 '*' 表示零个或多个，这里 'c' 为 0 个, 'a' 被重复一次。因此可以匹配字符串 "aab"。

        String s = "mississippi", p = "mis*is*p*.";  // output: false

        boolean result = isMatch(s, p);
        System.out.println(result);
    }

    public static boolean isMatch(String s, String p) {
        boolean res = Solutions_10.isMatch(s, p);
        return res;
    }
}
